package com.cy.dda.model.ao.cases;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import javax.validation.constraints.NotNull;

import com.cy.dda.model.ao.customer.ContactInfoEditAO;
import com.cy.dda.model.enums.cases.CasesType;
import com.cy.dda.model.enums.cases.CustomerType;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 后台-委案编辑字段
 *
 * @author tanyilin
 *
 * @create 2018年12月29日 下午3:42:11
 */
@Data
@ApiModel("后台-委案编辑字段")
public class CasesEditAO {

	@ApiModelProperty(value = "委案ID", example = "0")
	@NotNull(message = "委案ID不可为空")
	private Long casesId;
	
	@ApiModelProperty(value = "客户ID", example = "0")
	@NotNull(message = "客户ID不可为空")
	private Long customerId;
	
	@ApiModelProperty(value = "客户身份证号码")
	private String idNo;
	
	@ApiModelProperty(value = "手机号码")
	private String mobile;
	
	@ApiModelProperty(value = "婚姻状况")
	private String marriageType;
	
	@ApiModelProperty(value = "子女个数", example = "0")
	private Integer childrenNum;
	
	@ApiModelProperty(value = "居住类型")
	private String liveType;
	
	@ApiModelProperty(value = "居住地址")
	private String liveAddress;
	
	@ApiModelProperty(value = "户籍地址")
	private String idAddress;
	
	@ApiModelProperty(value = "房产地址")
	private String houseAddress;
	
	@ApiModelProperty(value = "单位名称")
	private String companyName;
	
	@ApiModelProperty(value = "职务")
	private String position;
	
	@ApiModelProperty(value = "单位地址")
	private String companyAddress;
	
	@ApiModelProperty(value = "单位电话")
	private String companyPhone;
	
	@ApiModelProperty(value = "联系人信息数组")
	private List<ContactInfoEditAO> contactInfoList;
	
	@ApiModelProperty(value = "借据号")
	private String loanNumber;
	
	@ApiModelProperty(value = "委托机构")
	private String orgName;
	
	@ApiModelProperty(value = "委托机构ID", example = "0")
	private Long orgId;
	
	@ApiModelProperty(value = "客户类型")
	private CustomerType customerType;
	
	@ApiModelProperty(value = "客户姓名")
	private String customerName;
	
	@ApiModelProperty(value = "外部id")
	private String uniqueId;
	
	@ApiModelProperty(value = "工作城市")
	private String city;
	
	@ApiModelProperty(value = "案件类型")
	private CasesType casesType;
	
	@ApiModelProperty(value = "产品名称")
	private String productName;
	
	@ApiModelProperty(value = "追偿总额", example = "0.00")
	private BigDecimal overdueAmount;
	
	@ApiModelProperty(value = "追偿本金", example = "0.00")
	private BigDecimal overdueCapital;
	
	@ApiModelProperty(value = "追偿利息", example = "0.00")
	private BigDecimal overdueInterest;
	
	@ApiModelProperty(value = "追偿罚息", example = "0.00")
	private BigDecimal overdueFineInterest;
	
	@ApiModelProperty(value = "追偿其他费用", example = "0.00")
	private BigDecimal otherAmount;
	
	@ApiModelProperty(value = "逾期时间")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date overdueDate;
	
	@ApiModelProperty(value = "逾期天数", example = "1")
	private Integer overdueDays;
	
	@ApiModelProperty(value = "逾期期数", example = "1")
	private Integer overduePeriod;
	
	@ApiModelProperty(value = "贷款期限", example = "1")
	private Integer loanPeriods;
	
	@ApiModelProperty(value = "贷款金额", example = "0.00")
	private BigDecimal loanAmount;
	
	@ApiModelProperty(value = "贷款余额", example = "0.00")
	private BigDecimal loanSurplusAmount;
	
	@ApiModelProperty(value = "放款日期")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date loanDate;
	
	@ApiModelProperty(value = "委托开始日期")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date entrustStartDate;
	
	@ApiModelProperty(value = "委托到期日期")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date entrustExpireDate;
	
	@ApiModelProperty(value = "放款卡")
	private String loanBankCard;
	
	@ApiModelProperty(value = "机构对公卡")
	private String orgPublicBankCard;
	
}
